home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-users-of-norman / CUON_13_(11-1984).d64 / 64 timepiece (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  3KB  |  121 lines

  1. 10 S=54272
  2. 12 FORL=STOS+24:POKEL,0:NEXT
  3. 14 POKES+5,9:POKES+15,30:POKES+12,9
  4. 20 POKE657,0:POKE53280,6
  5. 30 DIMA(40),B(48)
  6. 40 POKE53280,1:POKE53281,1:C=54272
  7. 50 PRINT"[147][144]"TAB(13)"64 TIMEPIECE[146]":PRINTTAB(7)"TO SET TIME,PRESS ANY KEY"
  8. 60 PRINT"   WHEN  ENTERING TIME, GIVE HOURS AND  MINUTES IN THIS MANNER:";
  9. 70 PRINT"[157][157][157][157][157][157][157][157][157]915RETURN[146] OR[157][157][157][157][157][157][157][157][157][157][157][157][157]";
  10. 80 PRINT"1231RETURN[146]":PRINTTAB(92)"(PRESS ANY KEY)"
  11. 83 POKE198,0
  12. 85 GETA$:IFA$=""THEN85
  13. 90 GOSUB1000
  14. 100 REM DRAW CLOCK
  15. 101 PRINT "[144]                                [146]"
  16. 102 FORI=1TO23:PRINTTAB(8)" [146]"TAB(31)" [146]":NEXT
  17. 103 PRINT"                                [146]";
  18. 105 PRINT""TAB(21)"         "
  19. 110 PRINT"[144]  [145][157][146][172]1234        "
  20. 120 PRINT"[144] 1122334455     "
  21. 130 PRINT"[144]50505050505     "
  22. 140 PRINT"[144]         111     "
  23. 150 PRINT"[144]123456789012    [146][169]"
  24. 160 PRINTTAB(26)"[169][157][157][169][146][169][157][157][157][169][146][169]"
  25. 170 PRINTTAB(9)"     [209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][145][145][145][145][145]";:POKE1974,81:POKE1974+C,6
  26. 200 U=0
  27. 210 FORI=1974TO1094STEP-40:A(U)=I:U=U+1:NEXT
  28. 212 FORI=1093TO1084STEP-1:A(U)=I:U=U+1:NEXT
  29. 214 FORI=1123TO1243STEP40:A(U)=I:U=U+1:NEXT
  30. 216 FORI=1242TO1239STEP-1:A(U)=I:U=U+1:NEXT
  31. 218 U=1
  32. 220 FORI=1235TO1247:B(U)=I:U=U+1:NEXT
  33. 222 FORI=1287TO1447STEP40:B(U)=I:U=U+1:NEXT
  34. 224 B(U)=1448:B(U+1)=1449:U=U+2
  35. 226 FORI=1489TO1689STEP40:B(U)=I:U=U+1:NEXT
  36. 227 B(U)=1690:B(U+1)=1730:B(U+2)=1770:B(U+3)=1809
  37. 228 B(U+4)=1848:B(U+5)=1887:B(U+6)=1926:GOTO900
  38. 300 REM START OF BALL MOVEMENT ROUTINE
  39. 310 FORX=0TO40
  40. 320 POKEA(X),81:POKEA(X)+C,6
  41. 325 IFX>22THENPOKEA(X-1),32
  42. 330 IFX>1ANDX<24THENPOKEA(X-1),99:POKEA(X-1)+C,6
  43. 340 IFX>2THENPOKEA(X-2),32
  44. 350 GOSUB2000:NEXT:POKE1974,81:POKE1974+C,6
  45. 400 REM CONTINUE TO MINUTES
  46. 410 L=A(40)
  47. 420 IFPEEK(L-1)=81THEN500
  48. 430 L=L-1:POKEL+1,32:POKEL,81:POKEL+C,6:IFPEEK(L-1)=81THEN900
  49. 440 IFL=A(40)-4THEN900
  50. 450 GOSUB2010:GOTO430
  51. 460 POKES+4,20:POKES+11,20:POKES+24,0
  52. 500 REM MINUTES FULL,         GOTO 5'S
  53. 505 Z=1447
  54. 510 FORX=5TO22:POKEB(X),81:POKEB(X)+C,6:POKEB(X-5),32:GOSUB2040:NEXT
  55. 520 FORX=23TO38:POKEB(X),81:POKEB(X)+C,6
  56. 525 Z=Z-1:IFPEEK(Z)<>81ANDZ>1432THENPOKEZ,81:POKEZ+C,6:POKEZ+1,32
  57. 530 POKEB(X-4),32:GOSUB2080:NEXT:POKES+4,20:POKES+11,20:POKES+24,0
  58. 600 IFPEEK(1444)<>81THEN900:REM OR 5'S ARE FULL
  59. 605 Z=1435
  60. 612 FORX=1445TO1447:POKEX,81:POKEX+C,6:POKEX-12,32:GOSUB2080:NEXT
  61. 620 FORX=18TO28:POKEB(X),81:POKEB(X)+C,6
  62. 630 Z=Z+1:POKEZ,32:GOSUB2060:NEXT
  63. 640 FORX=29TO37:POKEB(X),81:POKEB(X)+C,6:POKEB(X-12),32
  64. 650 GOSUB 2040 :NEXT
  65. 659 Z=B(37-11)
  66. 660 FORX=37TO44:POKEB(X),81:POKEB(X)+C,6:POKEB(X-11),32
  67. 670 Z=Z-1:IFPEEK(Z)<>81THENPOKEZ,81:POKEZ+C,6:POKEZ+1,32
  68. 680 GOSUB2040:NEXT
  69. 690 IFZ-1>1672ANDPEEK(Z-1)<>81THEN692
  70. 691 GOTO695
  71. 692 Z=Z-1:POKEZ,81:POKEZ+C,6:POKEZ+1,32:GOSUB2015:GOTO690
  72. 695 POKES+4,20:POKES+11,20:POKES+24,0
  73. 700 IFPEEK(1685)<>81THEN900
  74. 710 REM HOURS ARE FILLED UP
  75. 720 FORX=1686TO1690:POKEX,81:POKEX+C,6:POKEX-12,32
  76. 730 GOSUB2100:NEXT
  77. 740 FORX=1TO12:POKEB(X+26),81:POKEB(X+26)+C,6:POKE1678+X,32
  78. 750 GOSUB2100:NEXT
  79. 760 FORX=1TO7:POKEB(27+X),32:GOSUB2110:NEXT
  80. 900 REM TIME FOR ACTION
  81. 905 POKES+4,20:POKES+11,20:POKES+24,0
  82. 910 IFRIGHT$(TI$,2)>"57"THEN300
  83. 920 GETA$:IFA$<>""THENRUN
  84. 930 GOTO900
  85. 1000 REM TIME SETTING ROUTINE
  86. 1010 PRINT"[147]"TAB(53)"TIME?"TAB(90)"(IN 3 OR 4 DIGITS)"
  87. 1020 INPUTA$
  88. 1030 A$="0"+A$:A$=RIGHT$(A$,4)
  89. 1040 A=VAL(LEFT$(A$,2)):B=VAL(RIGHT$(A$,2)):D=INT(B/5):B=B-5*D
  90. 1045 IFA>12ORD>11THEN1000
  91. 1050 REM SETTING CLOCK
  92. 1055 PRINT"[147]"
  93. 1060 FORX=1TOA:POKE1672+X,81:POKE1672+X+C,6:NEXT:REM HOURS
  94. 1070 X=0
  95. 1080 X=X+1:IFX>BTHEN1100
  96. 1090 POKE1234+X,81:POKE1234+X+C,6:GOTO1080:REM MINUTES
  97. 1100 X=0
  98. 1110 X=X+1:IFX>DTHEN1130
  99. 1120 POKE1432+X,81:POKE1432+X+C,6:GOTO1110
  100. 1130 GOTO100
  101. 2000 REM SOUND
  102. 2005 GOTO2020
  103. 2010 IFX=37THEN2190
  104. 2015 POKES+24,10:POKES+11,21:FORV=1TO4:POKES+8,130
  105. 2017 FORW=1TO2:NEXT:POKES+8,240:NEXT:RETURN
  106. 2020 IFX<24THENFORY=1TO55:NEXT:RETURN
  107. 2030 IFX>33ANDX<37THENPOKES+4,20:POKES+11,20:RETURN
  108. 2035 GOTO2010
  109. 2040 IFPEEK(1447)=81THENGOTO2190
  110. 2060 IFPEEK(1689)=81THENGOTO2190
  111. 2080 IFPEEK(B(29))=81THENGOTO2190
  112. 2084 IFPEEK(B(32))=81THENGOTO2190
  113. 2085 IFPEEK(B(32))=81THENGOTO2190
  114. 2090 IFPEEK(B(26))=81THENGOTO2190
  115. 2100 IFPEEK(1770)=81THENGOTO2190
  116. 2110 IFPEEK(1926)=81THENGOTO2190
  117. 2120 GOTO2015
  118. 2180 IFX>4THEN2015
  119. 2190 POKES+24,15:POKES+4,21:POKES+1,130:FORY=1TO9:NEXT
  120. 2195 POKES+4,20:POKES+11,20:FORY=1TO60:NEXT:RETURN
  121.